package com.sugon.modules.sys.model.vo;

import com.sugon.entity.SysDeptEntity;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author ： YuXD
 * @description： 设备组织结构VO
 * @date ： 2020-11-14 下午 6:20
 * @version: 1.0
 */
@NoArgsConstructor
@Data
public class DeviceOrganizationVO implements Serializable {

    /**
     * 设备组织名称
     */
    private String label;

    /**
     * 设备组织ID
     */
    private String value;

    private String code;

    /**
     * 父设备组织ID
     */
    private String parentValue;

    /**
     * 设备组织等级
     */
    private Integer level;

    /**
     * 子组织结构
     */
    private List<DeviceOrganizationVO> children;

    public DeviceOrganizationVO(SysDeptEntity deptEntity) {
        this.label = deptEntity.getShowName();
        this.value = deptEntity.getDeptId();
        this.code = deptEntity.getDcode();
        this.parentValue = deptEntity.getParentId();
        this.level = deptEntity.getDeptLevel();
    }

    public List<DeviceOrganizationVO> getChildren() {
        if(children == null){
            children = new ArrayList<>();
        }
        return children;
    }

}
